package com.hskn.hss.module.tlempsalary.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hskn.hss.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 *
 */
@Data
public class EmpSalaryInExcelOutVO implements Serializable {

    /**
     * 人员id
     */
    @ApiModelProperty(value = "人员id", name = "empid", example = "3f1faac50b76085c4496400a21da1531", required = true)
    @NotNull(message = "人员ID不能为空")
    @NotBlank(message = "人员ID不能为空")
    private String empid;
    /**
     * 人员名称
     */
    @Excel(name = "姓名（必填）")
    @ApiModelProperty(value = "人员名称", name = "empName")
    @TableField(exist = false)
    private String empName;

    /**
     * 部门id
     */
    @ApiModelProperty(value = "部门id", name = "empdeptid", example = "05fc631946a1414e895c460be6f5be91", required = true)
    @NotNull(message = "部门ID不能为空")
    @NotBlank(message = "部门ID不能为空")
    private String empdeptid;
    /**
     * 机构名称
     */
    @Excel(name = "所属机构（必填）")
    @ApiModelProperty(value = "机构名称", name = "empdeptName")
    @TableField(exist = false)
    private String empdeptName;


    /**
     *月份
     */
    @Excel(name = "月份")
    @ApiModelProperty(value = "月份", name = "month", dataType = "String", example = "2021-09")
    private String month;

    /**
     * 实发工资
     */
    @Excel(name = "实发工资（必填）")
    @ApiModelProperty(value = "实发工资", name = "totalsalary", dataType = "BigDecimal", example = "1", required = true)
    @NotNull(message = "实发工资不能为空")
    private BigDecimal totalsalary;

    /**
     * 发放日期
     */
    @Excel(name = "发放日期（必填）",dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "发放日期", name = "paydate", dataType = "Date", example = "2021-09-16", required = true)
    @NotNull(message = "发放日期不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date paydate;

    /**
     * 考勤天数
     */
    @Excel(name = "考勤天数")
    @ApiModelProperty(value = "考勤天数", name = "attendays")
    @TableField("attenDays")
    private Integer attendays;

    /**
     * 在岗天数
     */
    @Excel(name = "在岗天数")
    @ApiModelProperty(value = "在岗天数", name = "onguarddays")
    @TableField("onguardDays")
    private Integer onguarddays;



    /**
     * 基本工资
     */
    @Excel(name = "基本工资")
    @ApiModelProperty(value = "基本工资", name = "basicSalary", dataType = "BigDecimal", example = "")
    private BigDecimal basicSalary;

    /**
     * 岗位工资
     */
    @Excel(name = "岗位工资")
    @ApiModelProperty(value = "岗位工资", name = "postSalary", dataType = "BigDecimal", example = "")
    private BigDecimal postSalary;

    /**
     * 绩效工资
     */
    @Excel(name = "绩效考核")
    @ApiModelProperty(value = "绩效工资", name = "meritSalary", dataType = "BigDecimal", example = "")
    private BigDecimal meritSalary;

    /**
     * 补贴
     */
    @Excel(name = "补贴")
    @ApiModelProperty(value = "补贴", name = "subsidy", dataType = "BigDecimal", example = "")
    private BigDecimal subsidy;

    /**
     * 社保
     */
    @Excel(name = "社保")
    @ApiModelProperty(value = "社保", name = "socialSecurity", dataType = "BigDecimal", example = "")
    private BigDecimal socialSecurity;

    /**
     * 公积金
     */
    @Excel(name = "公积金")
    @ApiModelProperty(value = "公积金", name = "providentFund", dataType = "BigDecimal", example = "")
    private BigDecimal providentFund;

    /**
     * 个税
     */
    @Excel(name = "个税")
    @ApiModelProperty(value = "个税", name = "incomeTax", dataType = "BigDecimal", example = "")
    private BigDecimal incomeTax;

    /**
     * 扣款
     */
    @Excel(name = "扣款")
    @ApiModelProperty(value = "扣款", name = "deduction", dataType = "BigDecimal", example = "")
    private BigDecimal deduction;
    /**
     * 扣款天数
     */
    @Excel(name = "扣款天数")
    @ApiModelProperty(value = "扣款天数", name = "subMoneyDays", dataType = "Integer", example = "")
    private Integer subMoneyDays;

    /**
     * 其他
     */
    @Excel(name = "其他")
    @ApiModelProperty(value = "其他", name = "otherpay", dataType = "BigDecimal", example = "")
    private BigDecimal otherpay;

   }
